#!/usr/bin/env python3
"""
Prometheus监控机器人启动脚本
"""
import os
import sys
import subprocess
from pathlib import Path

def check_dependencies():
    """检查依赖是否安装"""
    try:
        import flask
        import requests
        import prometheus_api_client
        from dotenv import load_dotenv
        print("✅ 所有依赖已安装")
        return True
    except ImportError as e:
        print(f"❌ 缺少依赖: {e}")
        print("请运行: pip install -r requirements.txt")
        return False

def check_env_file():
    """检查环境变量文件"""
    env_file = Path(".env")
    if not env_file.exists():
        print("⚠️  未找到 .env 文件")
        print("请复制 env.example 为 .env 并配置相关参数")
        return False
    print("✅ 环境变量文件存在")
    return True

def main():
    """主函数"""
    print("🚀 启动Prometheus监控机器人...")
    
    # 检查依赖
    if not check_dependencies():
        sys.exit(1)
    
    # 检查环境变量文件
    if not check_env_file():
        print("请先配置环境变量文件")
        sys.exit(1)
    
    # 显示日志信息
    print("\n📝 日志配置:")
    print("  - 主日志: logs/app.log")
    print("  - 错误日志: logs/error.log") 
    print("  - 访问日志: logs/access.log")
    print("  - 查看日志: python log_viewer.py")
    print("  - 实时跟踪: python log_viewer.py --follow")
    
    # 启动应用
    print("\n🎯 启动应用服务...")
    try:
        from app import app
        print("✅ 服务启动成功")
        print("📱 企业微信回调URL: http://your-domain:5000/wechat/callback")
        print("🔗 健康检查URL: http://localhost:5000/health")
        print("📊 监控数据查询: 通过企业微信发送消息")
        print("\n按 Ctrl+C 停止服务")
        app.run(host='0.0.0.0', port=5000, debug=False)
    except KeyboardInterrupt:
        print("\n👋 服务已停止")
    except Exception as e:
        print(f"❌ 启动失败: {e}")
        sys.exit(1)

if __name__ == "__main__":
    main()
